#include<iostream>
#include<algorithm>
using namespace std;
struct time
{
	double begin,end;
	bool operator < (const time &x) const
	{
		return end<x.end;
	}
}t[110];
bool check(int h1,int m1,int h2,int m2)
{
	if(h1<6)
		return false;
	if(h2>22)
		return false;
	if(h2==22 && m2!=0)
		return false;
	if(h1==h2)
	{
		if(m2-m1>20 || m2-m1<5)
			return false;
	}
	else
	{
		if(h2-h1>1)
			return false;
		if(m2+60-m1>20 || m2+60-m1<5)
			return false;
	}
	return true;
}
int main()
{
	int n,num=1,h1,h2,m1,m2;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>h1>>m1>>h2>>m2;
		if(check(h1,m1,h2,m2))
		{
			t[num++].begin=h1+m1/100.0;
			t[num-1].end=h2+m2/100.0;
		}
	}
	sort(t+1,t+num);
    double flag=t[1].end;
    int cnt=1;
	for(int i=2;i<num;i++)
    {
    	if(t[i].begin>=flag)
    	{
    		flag=t[i].end;
    		cnt++;
		}
	}
	cout<<cnt;
	return 0;
}
